The Change Stack

SE implements an unlimited undo facility. This means you can go back to a previous state of a document by undoing a series of editing operations. SE keeps a history of editing operations inside the signal document itself. This history is retained even across editing sessions. 

SE's unlimited undo facility is made possible by an internal data structure called the change stack. In order to understand the undo facility, it is important to realize what operations are registered (i.e., written or saved) on the change stack and what are not. Specifically, the change stack keeps track of cut, paste, and delete operations and all undos and redos of operations. 

You can "redo" an editing operation by "undoing" an undo, for example. Redo removes the previous undo from the change stack, so there will be no record of that undo in the future.

The undo facility does not apply to every operation that you can possibly perform while in SE. Do not expect to undo document-related operations such as close or save, or window-related operations such as create new viewer, scroll, zoom, select, etc.

Erasing the Change Stack

When you save a file, its change stack is saved along with it. This history may include portions of signal documents that were cut out of the document, that is, that are no longer visible. Thus the change stack may reference many megabytes of data. If you are sure that you do not want to undo a change and you would like to compress the size of your signal document, the only way to do this in release 0.9 is to save the file as a NeXT snd file using the command:

	Write to NeXT File, under the Document menu

This operation writes a fresh contiguous NeXT snd file. If you would like to edit the file some more, you can create a new signal document from this snd file with the command:

	New from NeXT File, under the Document menu